package com.microservice.config;

import feign.Contract;
import feign.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * Feign 配置类
 * 该配置类的使用 和 Ribbon 配置一样，如果需要生效的话，不能被 Application 启动类扫描到，所以需要放在额外的包中
 *  或者使用 注解进行排除
 * Created by bf on 2017/11/15.
 */
@Configuration
public class FeignConfiguretion1 {

    /**
     * 使用Feign 默认的配置
     * @return
     */
    @Bean
    public Contract feignContract() {
        return new feign.Contract.Default();
    }

    /**
     * 打开 Feign 日志
     * NONE，无记录（DEFAULT）。
     * BASIC，只记录请求方法和URL以及响应状态代码和执行时间。
     * HEADERS，记录基本信息以及请求和响应标头。
     * FULL，记录请求和响应的头文件，正文和元数据。
     * @return
     */
    @Bean
    Logger.Level feignLoggerLevel() {
        return Logger.Level.FULL;
    }

}
